/**
 * 游戏主场境
 */
class MainScene extends Scene {


	public constructor() {
		super();
		this.skinName = MainSceneSkin;
	}



	// 主滚动
	private ScrollerMain: eui.Scroller;
	// 主组
	private grpMain: eui.Group;
	// 背景组
	private grpBg: eui.Group;
	// 土地列表
	private ListLand: eui.List;




	protected createChildren() {

		// 设置主菜单大小
		MainMenu.ins.width = CommonData.WIN_W;
		MainMenu.ins.height = CommonData.WIN_H;
		this.addChild(MainMenu.ins);

		// 设置主滚动大小
		this.ScrollerMain.width = CommonData.WIN_W;
		this.ScrollerMain.height = CommonData.WIN_H;

		var jianxi = 40;

		// 自适应处理
		// 如果土地面积 + 头部 + 底部 > 屏幕高度
		if (MainMenu.ins.grpTop.height + MainMenu.ins.grpBot.height + jianxi + this.ListLand.height > CommonData.WIN_H) {
			// 设置主滚动位置
			this.grpMain.height = MainMenu.ins.grpTop.height + MainMenu.ins.grpBot.height + jianxi + this.ListLand.height;
			// 滚动到到头部
			this.ScrollerMain.viewport.scrollV = 0;
			// 滚动到中心
			// this.ScrollerMain.viewport.scrollV = (this.grpBg.height - Common.ins.WIN_H) / 4;
		} else {
			// 竖向不需要滚动
			this.grpMain.height = CommonData.WIN_H;
			this.ScrollerMain.scrollPolicyV = "off";
		}


		// 初始化土地
		this.initLand();
		EventManager.instance.addEvent(EventName.USER_LAND_CHANGE, this.reinitLand, this, true);
	}



	/**
	 * 初始化土地
	 */
	protected initLand() {
		var arr = new Array();
		arr.length = 108;
		this.ListLand.dataProvider = new eui.ArrayCollection(arr);
		this.ListLand.itemRenderer = LandItem;
		this.reinitLand();
	}
	/**
	 * 重新初始化土地
	 */
	private reinitLand() {
		PlayerSelfData.landInfo((e) => {
			if (e.length < 108) {
				e.push("addLand");
			}
			e.length = 108;
			this.ListLand.dataProvider = new eui.ArrayCollection(e);
		});
	}


}